package com.tbit.uqbike.service.business;

import com.tbit.uqbike.object.pojo.WorkOrderVO;
import com.tbit.uqbike.object.pojo.dto.mainManage.BarChartWorkOrderDTO;
import com.tbit.common.entity.pojo.vo.DateResult;
import com.tbit.uqbike.object.value.LoginInfo;

import java.util.List;

public interface WorkOrderService {
    /**
     * 换电工单根据日期查询
     */
    List<List<DateResult>> statisticsByTime(BarChartWorkOrderDTO barChartWorkOrderDTO);

    List<WorkOrderVO> queryPage(Integer accountId, String userCode, Integer accountUserId, Long startTime, Long endTime, List<Integer> regionIdList, Integer workType, Integer buildType, List<Integer> validList, Integer locationType);

    Integer queryCount(Integer accountId, String userCode, Integer accountUserId, Long startTime, Long endTime, List<Integer> regionIdList, Integer workType, Integer buildType);

    List<WorkOrderVO> exportByTime(Integer accountId, String userCode, Integer accountUserId, Long startTime, Long endTime, List<Integer> regionIdList, Integer workType, Integer buildType, List<Integer> validList, Integer locationType);

    List<WorkOrderVO> getByType(Integer accountId, Integer accountUserId, Long startTime, Long endTime, Integer rowCount, Integer pageNO, List<Integer> regionIdList, Integer type, Integer workType, Integer buildType, Integer locationType);

    void updateAudit(WorkOrderVO workOrderVO, LoginInfo loginInfo);

    void amendAuditState(WorkOrderVO workOrderVO);

    WorkOrderVO getDataById(Integer powerChangeLogId);
}
